﻿using CommunityToolkit.Mvvm.ComponentModel;

public class Program {
    public static void Main() {
        var vm = new SomeViewModel();
        vm.PropertyChanged += (sender, args) =>
            Console.WriteLine(
                $"Value of {args.PropertyName} has changed");
        vm.Json = "[\"New Value\"]";
    }
}

public class SomeViewModel : ObservableObject {
    private string _json;

    public string Json {
        get => _json;
        set => SetProperty(ref _json, value);
    }
}